Interprocedural Static Single Assignment Form in Bauhaus
نویسندگان
چکیده
In this paper we describe interprocedural static single assignment form (ISSA) with optimizations as implemented in the Bauhaus project. We explain our framework which uses an abstract program representation enabling us to use different pointer analyses ranging from fast but imprecise to slow but precise ones. Our implementation includes the computation of (may and must) side effects and optimizations like pruning definitions with simple linear-time algorithms. This paper also provides comprehensive test results and statistics for a large test suite.
منابع مشابه
Increasing the Scope and Resolution of Interprocedural Static Single Assignment
While intraprocedural Static Single Assignment (SSA) is ubiquitous in modern compilers, the use of interprocedural SSA, although seemingly a natural extension, is limited. We find that part of the impediment is due to the narrow scope of variables handled by previously reported approaches, leading to limited benefits in optimization. In this study, we increase the scope of Interprocedural SSA (...
متن کاملOptimal Polynomial-Time Interprocedural Register Allocation for High-Level Synthesis Using SSA Form
An optimal, polynomial-time algorithm for interprocedural register allocation in high-level synthesis and ASIP design is presented. The algorithm determines the minimum number of registers required to store all scalar variables in an application without spilling any to memory. Although an optimal polynomialtime algorithm has been presented in the past for individual procedures in Static Single ...
متن کاملApplying Scalable Interprocedural Pointer Analysis to Embedded Applications
This paper evaluates six different types of interprocedural pointer analyses on 22 telecommunication and media applications and describes their application to an SRAM power reduction technique. This configurable SRAM provides differentiation of data access time and port counts within a single on-chip structure. Scheduling for configurable SRAM relies on inter-procedural dependence analysis for ...
متن کاملA New Approach to Forth Native Code Generation
RAFTS is a framework for applying state of the art compiler technology to the compilation of Forth. The heart of RAFTS is a simple method for transforming Forth programs into data ow graphs and static single assignment form. Standard code generation and optimization techniques can be applied to programs in these forms. Speciically, RAFTS uses interprocedural register allocation to eliminate nea...
متن کاملLLVM: A Compilation Framework for Lifelong Program Analysis & Transformation
This paper describes LLVM (Low Level Virtual Machine), a compiler framework designed to support transparent, lifelong program analysis and transformation for arbitrary programs, by providing high-level information to compiler transformations at compile-time, link-time, run-time, and in idle time between runs. LLVM defines a common, low-level code representation in Static Single Assignment (SSA)...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2007